From: Rui Matos Date: Mon, 13 Oct 2014 15:43:39 +0000 (+0200) Subject: layout: Reset the OSK to the primary monitor when monitors change X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~2014 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=01eb79a3ccc4a6a62a6712e93a976012b9f1fde2;p=gnome-shell.git layout: Reset the OSK to the primary monitor when monitors change When monitors change, the previous index might not mean the same physical monitor anymore, in fact, it might become invalid. In the latter case, we'll actually get a JS error when accessing this.keyboardMonitor in _updateKeyboardBox() . To avoid this, let's just always reset the OSK to the primary monitor. https://bugzilla.gnome.org/show_bug.cgi?id=738536 --- diff --git a/js/ui/layout.js b/js/ui/layout.js index c61376dd6..dda9fc7d6 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -423,10 +423,7 @@ const LayoutManager = new Lang.Class({ this.panelBox.set_position(this.primaryMonitor.x, this.primaryMonitor.y); this.panelBox.set_size(this.primaryMonitor.width, -1); - if (this.keyboardIndex < 0) - this.keyboardIndex = this.primaryIndex; - else - this._updateKeyboardBox(); + this.keyboardIndex = this.primaryIndex; this.trayBox.set_position(this.bottomMonitor.x, this.bottomMonitor.y + this.bottomMonitor.height);